package com.blueocean_health.care.management.domain.base;

import java.util.Date;

import javax.persistence.Column;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.validation.constraints.NotNull;

import org.hibernate.validator.constraints.NotBlank;
import org.hibernate.validator.constraints.NotEmpty;
import org.springframework.format.annotation.DateTimeFormat;

import com.alibaba.fastjson.annotation.JSONField;

/**
 * 护工从表
*
*
* @Title: NurseWorkerDetailInfo.java
* @Package com.blueocean_health.care.management.domain.base
* @author luxue
* @date 2018年7月31日
* @version V1.0.7
 */
@Table(name = "nurse_worker_info_detail")
public class NurseWorkerDetailInfo {
    

    /**
     * 护工编号
     */
	@Id
    @Column(name = "worker_id")
    private String workerId;

    /**
     * 创建日期
     */
    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    @Column(name = "create_time")
    private Date createTime;

    /**
     * 身份证
     */
    @NotBlank(message="身份证")
    @Column(name = "id_card")
    private String idCard;
   
    /**
     * 籍贯
     */
    @NotEmpty(message="籍贯")
    @Column(name = "native_place")
    private String[] nativePlace;

    /**
     * 文化程度
     */
    @NotBlank(message="文化程度")
    private String education;

    /**
     * 工作年限
     */
    @Column(name = "service_years")
    private Integer serviceYears;

    /**
     * 出生日期
     */
    @NotNull(message="出生日期")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @JSONField(format = "yyyy-MM-dd")
    @Column(name = "birth_date")
    private Date birthDate;

    /**
     * 名族
     */
    @NotBlank(message="民族")
    private String nation;


    /**
     * 宗教信仰
     */
    @Column(name = "religion_faith")
    private String religionFaith;


    /**
     * 是否有健康证
     */
    @Column(name = "have_health_cert")
    private Boolean haveHealthCert;

    /**
     * 健康证号
     */
    @Column(name = "health_cert")
    private String healthCert;

    /**
     * 健康证有效期结束时间
     */
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @JSONField(format = "yyyy-MM-dd")
    @Column(name = "health_cert_expiry_date")
    private Date healthCertExpiryDate;

    /**
     * 是否有意外险
     */
    @Column(name = "accident_insurance")
    private Boolean accidentInsurance;

    /**
     * 开户行
     */
    private String bank;

    /**
     * 卡号
     */
    @Column(name = "bank_card")
    private String bankCard;

    /**
     * 支行全称
     */
    @Column(name = "bank_full_name")
    private String bankFullName;

    /**
     * 入职日期
     */
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @JSONField(format="yyyy-MM-dd")
    @Column(name = "hire_date")
    private Date hireDate;

    /**
     * 离职日期
     */
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @JSONField(format="yyyy-MM-dd")
    @Column(name = "leave_date")
    private Date leaveDate;

    /**
     * 擅长科室
     */
    @Column(name = "expert_dept")
    private String expertDept;

    /**
     * 护理技能
     */
    @Column(name = "skill")
    private String skill;

    /**
     * 头像地址
     */
    @Column(name = "avatar_photo_url")
    private String avatarPhotoUrl;

    /**
     * 银行卡地址
     */
    @Column(name = "bank_card_photo_url")
    private String bankCardPhotoUrl;

    /**
     * 学历证地址
     */
    @Column(name = "education_photo_url")
    private String educationPhotoUrl;

    /**
     * 健康证地址
     */
    @Column(name = "health_cert_photo_url")
    private String healthCertPhotoUrl;

    /**
     * 身份证正面地址
     */
    @Column(name = "id_card_photo_face_url")
    private String idCardFacePhotoUrl;

    /**
     * 身份证反面地址
     */
    @Column(name = "id_card_photo_back_url")
    private String idCardBackPhotoUrl;

    /**
     * 已领取装备ID
     */
    private String[] equipments;

    /**
     * 已领取装备
     */
    @Column(name = "equipment_names")
    private String[] equipmentNames;

    /**
     * 信用状态
     */
    @Column(name = "credit_type")
    private String creditType;

    /**
     * 紧急联系人
     */
    private String contact;

    /**
     * 联系人电话
     */
    @Column(name = "contact_phone")
    private String contactPhone;

    /**
     * 护理证
     */
    @Column(name = "nursing_cert")
    private Boolean nursingCert;

    /**
     * 责任险
     */
    @Column(name = "liability_insurance")
    private Boolean liabilityInsurance;

    /**
     * 社保
     */
    @Column(name = "social_security")
    private Boolean socialSecurity;

    /**
     * 备注
     */
    @Column(name = "remark")
    private String remark;

    /**
     * 已签署协议
     */
    private String[] agreements;
    
    /**
     * 解除居间协议日期
     */
    @JSONField(format = "yyyy-MM-dd")
    @Column(name = "relieve_date")
    private Date relieveDate;

    /**
     * 户口性质
     */
    private String residence;


    /**
     * 政治面貌
     */
    @Column(name = "political_visage")
    private String politicalVisage;


    /**
     * 身高
     */
    private String height;

    /**
     * 体重
     */
    private String weight;

    /**
     * 提醒状态
     */
    @Column(name = "remind_status")
    private Boolean remindStatus;
    
    /**
     * 签署协议时间
     */
    @JSONField(format = "yyyy-MM-dd")
    @Column(name = "agreements_date")
    private Date agreementsDate;

    /**
     * 获取护工编号
     *
     * @return worker_id - 护工编号
     */
    public String getWorkerId() {
        return workerId;
    }

    /**
     * 设置护工编号
     *
     * @param workerId 护工编号
     */
    public void setWorkerId(String workerId) {
        this.workerId = workerId;
    }

    /**
     * 获取创建日期
     *
     * @return create_time - 创建日期
     */
    public Date getCreateTime() {
        return createTime;
    }

    /**
     * 设置创建日期
     *
     * @param createTime 创建日期
     */
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }



    /**
     * 获取身份证
     *
     * @return id_card - 身份证
     */
    public String getIdCard() {
        return idCard;
    }

    /**
     * 设置身份证
     *
     * @param idCard 身份证
     */
    public void setIdCard(String idCard) {
        this.idCard = idCard;
    }

    /**
     * 获取籍贯
     *
     * @return native_place - 籍贯
     */
    public String[] getNativePlace() {
        return nativePlace;
    }

    /**
     * 设置籍贯
     *
     * @param nativePlace 籍贯
     */
    public void setNativePlace(String[] nativePlace) {
        this.nativePlace = nativePlace;
    }

    /**
     * 获取文化程度
     *
     * @return education - 文化程度
     */
    public String getEducation() {
        return education;
    }

    /**
     * 设置文化程度
     *
     * @param education 文化程度
     */
    public void setEducation(String education) {
        this.education = education;
    }

    /**
     * 获取工作年限
     *
     * @return service_years - 工作年限
     */
    public Integer getServiceYears() {
        return serviceYears;
    }

    /**
     * 设置工作年限
     *
     * @param serviceYears 工作年限
     */
    public void setServiceYears(Integer serviceYears) {
        this.serviceYears = serviceYears;
    }

    /**
     * 获取出生日期
     *
     * @return birth_date - 出生日期
     */
    public Date getBirthDate() {
        return birthDate;
    }

    /**
     * 设置出生日期
     *
     * @param birthDate 出生日期
     */
    public void setBirthDate(Date birthDate) {
        this.birthDate = birthDate;
    }

    /**
     * 获取名族
     *
     * @return nation - 名族
     */
    public String getNation() {
        return nation;
    }

    /**
     * 设置名族
     *
     * @param nation 名族
     */
    public void setNation(String nation) {
        this.nation = nation;
    }

    /**
     * 获取宗教信仰
     *
     * @return religion_faith - 宗教信仰
     */
    public String getReligionFaith() {
        return religionFaith;
    }

    /**
     * 设置宗教信仰
     *
     * @param religionFaith 宗教信仰
     */
    public void setReligionFaith(String religionFaith) {
        this.religionFaith = religionFaith;
    }

    /**
     * 获取是否有健康证
     *
     * @return have_health_cert - 是否有健康证
     */
    public Boolean getHaveHealthCert() {
        return haveHealthCert;
    }

    /**
     * 设置是否有健康证
     *
     * @param haveHealthCert 是否有健康证
     */
    public void setHaveHealthCert(Boolean haveHealthCert) {
        this.haveHealthCert = haveHealthCert;
    }

    /**
     * 获取健康证号
     *
     * @return health_cert - 健康证号
     */
    public String getHealthCert() {
        return healthCert;
    }

    /**
     * 设置健康证号
     *
     * @param healthCert 健康证号
     */
    public void setHealthCert(String healthCert) {
        this.healthCert = healthCert;
    }

    /**
     * 获取健康证有效期结束时间
     *
     * @return health_cert_expiry_date - 健康证有效期结束时间
     */
    public Date getHealthCertExpiryDate() {
        return healthCertExpiryDate;
    }

    /**
     * 设置健康证有效期结束时间
     *
     * @param healthCertExpiryDate 健康证有效期结束时间
     */
    public void setHealthCertExpiryDate(Date healthCertExpiryDate) {
        this.healthCertExpiryDate = healthCertExpiryDate;
    }

    /**
     * 获取是否有意外险
     *
     * @return accident_insurance - 是否有意外险
     */
    public Boolean getAccidentInsurance() {
        return accidentInsurance;
    }

    /**
     * 设置是否有意外险
     *
     * @param accidentInsurance 是否有意外险
     */
    public void setAccidentInsurance(Boolean accidentInsurance) {
        this.accidentInsurance = accidentInsurance;
    }

    /**
     * 获取开户行
     *
     * @return bank - 开户行
     */
    public String getBank() {
        return bank;
    }

    /**
     * 设置开户行
     *
     * @param bank 开户行
     */
    public void setBank(String bank) {
        this.bank = bank;
    }

    /**
     * 获取卡号
     *
     * @return bank_card - 卡号
     */
    public String getBankCard() {
        return bankCard;
    }

    /**
     * 设置卡号
     *
     * @param bankCard 卡号
     */
    public void setBankCard(String bankCard) {
        this.bankCard = bankCard;
    }

    /**
     * 获取支行全称
     *
     * @return bank_full_name - 支行全称
     */
    public String getBankFullName() {
        return bankFullName;
    }

    /**
     * 设置支行全称
     *
     * @param bankFullName 支行全称
     */
    public void setBankFullName(String bankFullName) {
        this.bankFullName = bankFullName;
    }

    /**
     * 获取入职日期
     *
     * @return hire_date - 入职日期
     */
    public Date getHireDate() {
        return hireDate;
    }

    /**
     * 设置入职日期
     *
     * @param hireDate 入职日期
     */
    public void setHireDate(Date hireDate) {
        this.hireDate = hireDate;
    }

    /**
     * 获取离职日期
     *
     * @return leave_date - 离职日期
     */
    public Date getLeaveDate() {
        return leaveDate;
    }

    /**
     * 设置离职日期
     *
     * @param leaveDate 离职日期
     */
    public void setLeaveDate(Date leaveDate) {
        this.leaveDate = leaveDate;
    }

    /**
     * 获取擅长科室
     *
     * @return expert_dept - 擅长科室
     */
    public String getExpertDept() {
        return expertDept;
    }

    /**
     * 设置擅长科室
     *
     * @param expertDept 擅长科室
     */
    public void setExpertDept(String expertDept) {
        this.expertDept = expertDept;
    }

    /**
     * 获取护理技能
     *
     * @return skill - 护理技能
     */
    public String getSkill() {
        return skill;
    }

    /**
     * 设置护理技能
     *
     * @param skill 护理技能
     */
    public void setSkill(String skill) {
        this.skill = skill;
    }

    /**
     * 获取头像地址
     *
     * @return avatar_photo_url - 头像地址
     */
    public String getAvatarPhotoUrl() {
        return avatarPhotoUrl;
    }

    /**
     * 设置头像地址
     *
     * @param avatarPhotoUrl 头像地址
     */
    public void setAvatarPhotoUrl(String avatarPhotoUrl) {
        this.avatarPhotoUrl = avatarPhotoUrl;
    }

    /**
     * 获取银行卡地址
     *
     * @return bank_card_photo_url - 银行卡地址
     */
    public String getBankCardPhotoUrl() {
        return bankCardPhotoUrl;
    }

    /**
     * 设置银行卡地址
     *
     * @param bankCardPhotoUrl 银行卡地址
     */
    public void setBankCardPhotoUrl(String bankCardPhotoUrl) {
        this.bankCardPhotoUrl = bankCardPhotoUrl;
    }

    /**
     * 获取学历证地址
     *
     * @return education_photo_url - 学历证地址
     */
    public String getEducationPhotoUrl() {
        return educationPhotoUrl;
    }

    /**
     * 设置学历证地址
     *
     * @param educationPhotoUrl 学历证地址
     */
    public void setEducationPhotoUrl(String educationPhotoUrl) {
        this.educationPhotoUrl = educationPhotoUrl;
    }

    /**
     * 获取健康证地址
     *
     * @return health_cert_photo_url - 健康证地址
     */
    public String getHealthCertPhotoUrl() {
        return healthCertPhotoUrl;
    }

    /**
     * 设置健康证地址
     *
     * @param healthCertPhotoUrl 健康证地址
     */
    public void setHealthCertPhotoUrl(String healthCertPhotoUrl) {
        this.healthCertPhotoUrl = healthCertPhotoUrl;
    }

    /**
     * 获取身份证正面地址
     *
     * @return id_card_photo_face_url - 身份证正面地址
     */
    public String getIdCardFacePhotoUrl() {
        return idCardFacePhotoUrl;
    }

    /**
     * 设置身份证正面地址
     *
     * @param idCardPhotoFaceUrl 身份证正面地址
     */
    public void setIdCardFacePhotoUrl(String idCardFacePhotoUrl) {
        this.idCardFacePhotoUrl = idCardFacePhotoUrl;
    }

    /**
     * 获取身份证反面地址
     *
     * @return id_card_photo_back_url - 身份证反面地址
     */
    public String getIdCardBackPhotoUrl() {
        return idCardBackPhotoUrl;
    }

    /**
     * 设置身份证反面地址
     *
     * @param idCardPhotoBackUrl 身份证反面地址
     */
    public void setIdCardBackPhotoUrl(String idCardBackPhotoUrl) {
        this.idCardBackPhotoUrl = idCardBackPhotoUrl;
    }

    /**
     * 获取已领取装备ID
     *
     * @return equipments - 已领取装备ID
     */
    public String[] getEquipments() {
        return equipments;
    }

    /**
     * 设置已领取装备ID
     *
     * @param equipments 已领取装备ID
     */
    public void setEquipments(String[] equipments) {
        this.equipments = equipments;
    }

    /**
     * 获取已领取装备
     *
     * @return equipment_names - 已领取装备
     */
    public String[] getEquipmentNames() {
        return equipmentNames;
    }

    /**
     * 设置已领取装备
     *
     * @param equipmentNames 已领取装备
     */
    public void setEquipmentNames(String[] equipmentNames) {
        this.equipmentNames = equipmentNames;
    }
    
    /**
     * 获取信用状态
     *
     * @return credit_type - 信用状态
     */
    public String getCreditType() {
        return creditType;
    }

    /**
     * 设置信用状态
     *
     * @param creditType 信用状态
     */
    public void setCreditType(String creditType) {
        this.creditType = creditType;
    }

    /**
     * 获取紧急联系人
     *
     * @return contact - 紧急联系人
     */
    public String getContact() {
        return contact;
    }

    /**
     * 设置紧急联系人
     *
     * @param contact 紧急联系人
     */
    public void setContact(String contact) {
        this.contact = contact;
    }

    /**
     * 获取联系人电话
     *
     * @return contact_phone - 联系人电话
     */
    public String getContactPhone() {
        return contactPhone;
    }

    /**
     * 设置联系人电话
     *
     * @param contactPhone 联系人电话
     */
    public void setContactPhone(String contactPhone) {
        this.contactPhone = contactPhone;
    }

    /**
     * 获取护理证
     *
     * @return nursing_cert - 护理证
     */
    public Boolean getNursingCert() {
        return nursingCert;
    }

    /**
     * 设置护理证
     *
     * @param nursingCert 护理证
     */
    public void setNursingCert(Boolean nursingCert) {
        this.nursingCert = nursingCert;
    }

    /**
     * 获取责任险
     *
     * @return liability_insurance - 责任险
     */
    public Boolean getLiabilityInsurance() {
        return liabilityInsurance;
    }

    /**
     * 设置责任险
     *
     * @param liabilityInsurance 责任险
     */
    public void setLiabilityInsurance(Boolean liabilityInsurance) {
        this.liabilityInsurance = liabilityInsurance;
    }

    /**
     * 获取社保
     *
     * @return social_security - 社保
     */
    public Boolean getSocialSecurity() {
        return socialSecurity;
    }

    /**
     * 设置社保
     *
     * @param socialSecurity 社保
     */
    public void setSocialSecurity(Boolean socialSecurity) {
        this.socialSecurity = socialSecurity;
    }

    /**
     * 获取备注
     *
     * @return remark - 备注
     */
    public String getRemark() {
        return remark;
    }

    /**
     * 设置备注
     *
     * @param remark 备注
     */
    public void setRemark(String remark) {
        this.remark = remark;
    }

    /**
     * 获取已签署协议
     *
     * @return agreements - 已签署协议
     */
    public String[] getAgreements() {
        return agreements;
    }

    /**
     * 设置已签署协议
     *
     * @param agreements 已签署协议
     */
    public void setAgreements(String[] agreements) {
        this.agreements = agreements;
    }
    
    /**
     * 获取解除居间协议日期
     *
     * @return relieve_date - 解除居间协议日期
     */
    public Date getRelieveDate() {
        return relieveDate;
    }

    /**
     * 设置解除居间协议日期
     *
     * @param relieveDate 解除居间协议日期
     */
    public void setRelieveDate(Date relieveDate) {
        this.relieveDate = relieveDate;
    }

    /**
     * 获取户口性质
     *
     * @return residence - 户口性质
     */
    public String getResidence() {
        return residence;
    }

    /**
     * 设置户口性质
     *
     * @param residence 户口性质
     */
    public void setResidence(String residence) {
        this.residence = residence;
    }

    /**
     * 获取政治面貌
     *
     * @return political_visage - 政治面貌
     */
    public String getPoliticalVisage() {
        return politicalVisage;
    }

    /**
     * 设置政治面貌
     *
     * @param politicalVisage 政治面貌
     */
    public void setPoliticalVisage(String politicalVisage) {
        this.politicalVisage = politicalVisage;
    }

    /**
     * 身高
    * @Title: getHeight
    * @return
    * String
    * @version V1.0.7
    * @throws
     */
	public String getHeight() {
		return height;
	}
	 /**
     * 身高
    * @Title: setHeight
    * @return
    * String
    * @version V1.0.7
    * @throws
     */
	public void setHeight(String height) {
		this.height = height;
	}
	 /**
     * 体重
    * @Title: getWeight
    * @return
    * String
    * @version V1.0.7
    * @throws
     */
	public String getWeight() {
		return weight;
	}
	 /**
     * 体重
    * @Title: setWeight
    * @return
    * String
    * @version V1.0.7
    * @throws
     */
	public void setWeight(String weight) {
		this.weight = weight;
	}
	 /**
     * 提醒状态
    * @Title: getRemindStatus
    * @return
    * String
    * @version V1.0.7
    * @throws
     */
	public Boolean getRemindStatus() {
		return remindStatus;
	}
	 /**
     * 提醒状态
    * @Title: setRemindStatus
    * @return
    * String
    * @version V1.0.7
    * @throws
     */
	public void setRemindStatus(Boolean remindStatus) {
		this.remindStatus = remindStatus;
	}
	 /**
     * 签署协议时间
    * @Title: getAgreementsDate
    * @return
    * String
    * @version V1.0.7
    * @throws
     */
	public Date getAgreementsDate() {
		return agreementsDate;
	}
	 /**
     * 签署协议时间
    * @Title: setAgreementsDate
    * @return
    * String
    * @version V1.0.7
    * @throws
     */
	public void setAgreementsDate(Date agreementsDate) {
		this.agreementsDate = agreementsDate;
	}

    
    

	@Override
	public String toString() {
		return "NurseWorkerDetailInfo [workerId=" + workerId;
	}

}